<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html  xmlns="http://www.w3.org/1999/xhtml"
       xmlns:ui="http://java.sun.com/jsf/facelets"
       xmlns:p="http://primefaces.org/ui"
       xmlns:h="http://xmlns.jcp.org/jsf/html"
       xmlns:f="http://xmlns.jcp.org/jsf/core">

    <h:head> 

    </h:head>
    <h:body>
        <ui:composition 
            template="./../Templates/TemplateAdministracion.xhtml"
            >

            <ui:define name="contentS">
                <p:growl id="growl" showDetail="true" life="2000" autoUpdate="true"/>
                <h:form id="frmUsuario">
                    <center><b><h:outputText value="ADMINISTRACIÓN USUARIOS ADMINISTRADORES" style="font-size: 16px; color: #003399"/></b></center>
                    <br />
                    <p:dataTable id="tblUsuario" value="#{controladorUsuario.lstUsuarios}" 
                                 var="usuario" rowKey="#{usuario.idUsuario}"
                                 selectionMode="single" 
                                 selection="#{controladorUsuario.usuarioSel}"
                                 paginator="true" rows="20">

                        <p:column headerText="Nombres">
                            <h:outputText value="#{usuario.nombres}"/>
                        </p:column>
                        <p:column headerText="Apellidos">
                            <h:outputText value="#{usuario.apellidos}"/>
                        </p:column>
                        <p:column headerText="Nombre de Usuario">
                            <h:outputText value="#{usuario.idUsuario}"/>
                        </p:column>
                        <p:column headerText="Contraseña">
                            <h:outputText value="#{usuario.contrasena}"/>
                        </p:column>
                        <f:facet name="footer">
                            <p:commandButton id="btnNuevo" value="Nuevo"
                                             onclick="wdlgNuevoUsuario.show();"
                                             update=":frmNuevoUsuario:pngUsuario" disabled="false"/>
                            <p:commandButton id="bntEditar" value="Editar"
                                             onclick="wdlgEditarUsuario.show();"
                                             update=":frmEditarUsuario:pngEditarUsuario" disabled="false"/>
                            <p:commandButton id="bntEliminar" value="Eliminar"
                                             onclick="wdlgEliminarUsuario.show();"
                                             update=":frmEliminarUsuario:pngEliminarUsuario" disabled="false"/>
                        </f:facet>
                    </p:dataTable>
                </h:form>

                <p:ajaxStatus style="width:64px;height:64px;position:fixed;right:5px;bottom:5px">  
                    <f:facet name="start">  
                        <p:graphicImage value="/resources/images/loading.gif" />  
                    </f:facet>  

                    <f:facet name="complete">  
                        <h:outputText value="" />  
                    </f:facet>  
                </p:ajaxStatus> 

            </ui:define>



            <ui:define name="dialogos">
                <p:dialog id="dlgNuevoUsuario" widgetVar="wdlgNuevoUsuario"
                          header="Nuevo Usuario" modal="true" closable="true"  resizable="false">
                    <h:form id="frmNuevoUsuario">
                        <p:panelGrid id="pngUsuario" columns="2">

                            <h:outputText value="Nombres:"/>
                            <p:inputText value="#{controladorUsuario.usuario.nombres}" required="true" requiredMessage="El nombre es un campo obligatorio"/>
                            <h:outputText value="Apellidos:"/>
                            <p:inputText value="#{controladorUsuario.usuario.apellidos}" required="true" requiredMessage="El apellido es un campo obligatorio"/>
                            <h:outputText value="Nombre de Usuario:"/>
                            <p:inputText value="#{controladorUsuario.usuario.idUsuario}" required="true" requiredMessage="El nombre de usuario es un campo obligatorio"/>
                            <h:outputText value="Contraseña:"/>
                            <p:inputText value="#{controladorUsuario.usuario.contrasena}" required="true" requiredMessage="Una contraseña es requerida" />

                        </p:panelGrid>
                        <center>     <p:commandButton id="btnNuevoUsuario" value="Aceptar" 
                                                      action="#{controladorUsuario.insertarUsuario()}"
                                                      update=":frmUsuario:tblUsuario"/>
                            <p:commandButton id="bntCancelarNuevo" value="Cancelar"
                                             onclick="wdlgNuevoUsuario.hide();"
                                             process="@this" />
                        </center>
                    </h:form>
                </p:dialog>
                <p:dialog id="dlgEditarUsuario" widgetVar="wdlgEditarUsuario"
                          header="Editar Usuario" modal="true" closable="true" resizable="false">
                    <h:form id="frmEditarUsuario">
                        <p:panelGrid id="pngEditarUsuario" columns="2">
                            <h:outputText value="Nombres:"/>
                            <p:inputText value="#{controladorUsuario.usuarioSel.nombres}" required="true" requiredMessage="El nombre es un campo obligatorio"/>
                            <h:outputText value="Apellidos:"/>
                            <p:inputText value="#{controladorUsuario.usuarioSel.apellidos}" required="true" requiredMessage="El apellido es un campo obligatorio"/>
                            <h:outputText value="Nombre de Usuario:"/>
                            <h:outputText value="#{controladorUsuario.usuarioSel.idUsuario}"/>
                            <h:outputText value="Contraseña:"/>
                            <p:inputText value="#{controladorUsuario.usuarioSel.contrasena}" required="true" requiredMessage="Una contraseña es requerida" />
                        </p:panelGrid>
                        <center> <p:commandButton id="btnEditarUsuario" value="Aceptar"
                                                  action="#{controladorUsuario.editarUsuario()}"
                                                  update=":frmUsuario:tblUsuario"/>
                            <p:commandButton id="bntCancelarEditar" value="Cancelar"
                                             onclick="wdlgEditarUsuario.hide();"  process="@this"/>
                        </center>
                    </h:form>
                </p:dialog>
                <p:dialog id="dlgEliminarUsuario" widgetVar="wdlgEliminarUsuario" 
                          header="Eliminar Usuario"
                          modal="true" closable="false" resizable="false">
                    <h:form id="frmEliminarUsuario">
                        <p:panelGrid id="pngEliminarUsuario" columns="2">
                            <h:outputText value="Nombres:"/>
                            <h:outputText value="#{controladorUsuario.usuarioSel.nombres}"/>
                            <h:outputText value="Apellidos:"/>
                            <h:outputText value="#{controladorUsuario.usuarioSel.apellidos}" />
                            <h:outputText value="Nombre de Usuario:"/>
                            <h:outputText value="#{controladorUsuario.usuarioSel.idUsuario}" />
                            <h:outputText value="Contraseña:"/>
                            <h:outputText value="#{controladorUsuario.usuarioSel.contrasena}" />
                        </p:panelGrid>
                        <center>
                            <p:commandButton id="btnEliminarUsuario" value="Aceptar"
                                             action="#{controladorUsuario.eliminarUsuario()}"
                                             update=":frmUsuario:tblUsuario"/>
                            <p:commandButton id="btnCancelarEliminar" value="Cancelar"
                                             onclick="wdlgEliminarUsuario.hide();"/>
                        </center>
                    </h:form>
                </p:dialog>

            </ui:define>

        </ui:composition>
    </h:body>
</html>